﻿using System;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using ProcessoSeletivo.DAO;
using Microsoft.Reporting.WebForms;

public partial class admin_RelatorioInscritos : System.Web.UI.Page
{
    #region " Load "

    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            Session["RelBytes"] = null;
        }
    }

    #endregion

    #region " Grid "

    protected void grvPrincipal_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
            DataRowView lRow = (DataRowView)e.Row.DataItem;
            int count = 0;

            e.Row.Cells[2].Text = "";
            foreach (string curso in lRow["des_curso_cur"].ToString().Trim().Split(';'))
            {
                if (curso != "")
                {
                    count++;
                    e.Row.Cells[2].Text += curso + " - " +count.ToString() + "º Opção <br>";
                }
            }

            if ((bool)lRow["flg_isento_ins"])
            {
                e.Row.Cells[3].Text = "Sim";
            }
            else
            {
                e.Row.Cells[3].Text = "Não";
            }

            if (lRow["tip_processo_pro"].ToString() == "1")
            {
                e.Row.Cells[5].Text = "Normal";
            }
            else
            {
                e.Row.Cells[5].Text = "Agendado";
            }
        }
    }

    #endregion

    #region " Botões "

    protected void btnGerarPDF_Click(object sender, EventArgs e)
    {
        if (GerarDados("PDF"))
        {
            ScriptManager.RegisterStartupScript(Page, Page.GetType(), "Relatorio", "window.open('ResponseRelatorio.aspx?Tipo=PDF')", true);
        }
        else
        {
            ScriptManager.RegisterClientScriptBlock(Page, Page.GetType(), "block", "alert('Nenhuma informação foi gerada!');", true);
        }
    }

    protected void btnGerarExcel_Click(object sender, EventArgs e)
    {
        if (GerarDados("Excel"))
        {
            ScriptManager.RegisterStartupScript(Page, Page.GetType(), "Relatorio", "window.open('ResponseRelatorio.aspx?Tipo=Excel')", true);
        }
        else
        {
            ScriptManager.RegisterClientScriptBlock(Page, Page.GetType(), "block", "alert('Nenhuma informação foi gerada!');", true);
        }
    }

    #endregion

    #region " Métodos gerais "

    private bool GerarDados(string Tipo)
    {
        DataView lDataView;
        bool flag = false;

        using (DadosCandidato objDC = new DadosCandidato())
        {
            lDataView = objDC.ListarRelatorioDadosCandidatoInscritosPorFiltro(cod_processo_pro.SelectedValue, Convert.ToInt32(tip_processo_pro.SelectedValue));
        }

        if (lDataView.Table.Rows.Count > 0)
        {
            ReportDataSource datasource = new ReportDataSource("dsRelatorio", lDataView.Table);
            
            rpvPrincipal.LocalReport.DataSources.Clear();
            rpvPrincipal.LocalReport.DataSources.Add(datasource);
            rpvPrincipal.LocalReport.Refresh();
            Session["RelBytes"] = Utilitaria.ExportReportSemSalvar(rpvPrincipal, Tipo);
            flag = true;
        }
        else
        {
            Session["RelBytes"] = null;
        }

        return flag;
    }

    #endregion
}